package com.papers.system.domain.vo;

import java.util.ArrayList;
import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.papers.common.annotation.ExcelDictFormat;
import com.papers.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
import java.util.List;


/**
 * 章节视图对象 t_juan_chapter
 *
 * @author papers
 * @date 2022-10-08
 */
@Data
@ExcelIgnoreUnannotated
public class TJuanChapterVo {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ExcelProperty(value = "ID")
    @ExcelIgnore
    private String chapterId;

    /**
     * 课程ID
     */
    @ExcelProperty(value = "课程ID")
    @ExcelIgnore
    private String courseId;

    /**
     * 章节代码
     */
    @ExcelProperty(value = "章节代码")
    private String chapterCode;

    /**
     * 课程名称
     */
    @ExcelProperty(value = "课程名称")
    private String courseSubject;

    /**
     * 父节点ID
     */
    @ExcelProperty(value = "父节点ID")
    @ExcelIgnore
    private String chapterParentId;

    /**
     * 名称
     */
    @ExcelProperty(value = "名称")
    private String chapterName;

    /**
     * 类型
     */
    @ExcelProperty(value = "类型")
    private String chapterType;

    /**
     * 描述
     */
    @ExcelProperty(value = "描述")
    private String chapterDes;

    /**
     * 创建人
     */
    @ExcelProperty(value = "创建人")
    private String createdBy;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createdTime;

    /**
     * 更新人
     */
    @ExcelProperty(value = "更新人")
    private String updatedBy;

    /**
     * 更新时间
     */
    @ExcelProperty(value = "更新时间")
    private Date updatedTime;

    /**
     * 父节点
     */
    @ExcelProperty(value = "父节点")
    @ExcelIgnore
    private String parentId;

    /**
     * 排序
     */
    @ExcelProperty(value = "排序")
    @ExcelIgnore
    private Integer chapterSort;

    /**
     * 子节点
     */
    private List<TJuanChapterVo> children = new ArrayList<>();
}
